Developing a computer system based on Nand2Tetris [on hold]
Posted
by
Ryan
on Programmers
See other posts from Programmers
or by Ryan
Published on 2013-10-17T22:19:23Z
Indexed on
2013/10/18
4:11 UTC
Read the original article
Hit count: 280
operating-systems
I recently finished a book called Nand2Tetris (nand2tetris.org) where I built my own computer system from scratch with its own machine language, assembly code, and a high level language called Jack that's translated to Hack binary. However, I feel like the "computer" I built throughout the course of this book (called the Hack computer) is a bit too simple for various reasons:
1) There are only two registers (D and A), whereas most computers have much more
2) Peripheral devices like mouse and keyboard have to be directly implemented
3) Peripheral devices use a pre-planned shared memory map to communicate with the CPU instead of using interrupts (which aren't covered at all)
4) Jack (the high level language) code doesn't compile to Assembly code directly, instead it compiles to an intermediate language, which in turn gets translated to Assembly.
5) There is no ROM or permanent storage device, everything is stored in RAM
6) No support for colored monitor, networking or sound
I would like to build a more complicated computer system now based on what I've learned from Nand2Tetris. Does anyone know of any good resources or books to get started on this?
(BTW by computer system I mean software that can emulate the hardware of a virtual computer with its own unique instruction set)
© Programmers or respective owner